home *** CD-ROM | disk | FTP | other *** search
- /* vms.cfg: Configuration file for sgmls on VAX/VMS.
- /* For VAX/VMS V5.3 and VAX C V3.2-044.
- Contributed by John Lavagnino <LAV@BINAH.CC.BRANDEIS.EDU>. */
-
- /* Define HAVE_EXTENDED_PRINTF if your *printf functions supports
- X/Open extensions; if they do, then, for example,
-
- printf("%2$s%1$s", "bar", "foo")
-
- should print `foobar'. */
-
- /* #define HAVE_EXTENDED_PRINTF 1 */
-
- /* Define HAVE_CAT if your system provides the X/Open message
- catalogue functions catopen() and catgets(), and you want to use them.
- An implementations of these functions is included and will be used if
- you don't define this. On SunOS 4.1.1, if you do define this you
- should set CC=/usr/xpg2bin/cc in the makefile. */
-
- /* #define HAVE_CAT 1 */
-
- #ifdef __STDC__
- /* Define this if your compiler supports prototypes. */
- #define USE_PROTOTYPES 1
- #endif
- #define USE_PROTOTYPES 1
-
- #ifdef __OBJECTCENTER__
- /* Define this if you have <varargs.h> but not <stdarg.h> */
- #define VARARGS 1
- #endif
-
- #ifndef USE_PROTOTYPES
- /* Use VARARGS if prototypes are not supported. */
- #ifndef VARARGS
- #define VARARGS 1
- #endif
- #endif /* not USE_PROTOTYPES */
-
- /* Define this if you do not have strerror(). */
- /* #define STRERROR_MISSING 1 */
-
- /* Define this unless the character testing functions in ctype.h
- are defined for all values representable as an unsigned char. You do
- not need to define this if your system is ANSI C conformant. You
- should define for old Unix systems. */
- /* This has been defined for VMS because its iscntrl says that
- 128 through 159 are controls; SHUNCHAR CONTROLS believes that, and you
- can get messages like
- "Non-significant shunned character number 158 not declared UNUSED"
- as a result: that's what happens with the grplvl.sgm test. (See
- sgmldecl.c for the use of iscntrl that leads to this, and Goldfarb
- page 455 for the rule that's being followed.) With this
- symbol defined, the VMS version of isascii is used together with
- iscntrl, and isascii is false for eight-bit characters.
- The setting here also affects the form of the output: without the
- isascii test the program is led to believe that some codes with the
- eighth bit set are OK to put in the output without translation,
- because with the eighth bit masked off they look like ordinary letters.
- That happened with output from the test02.sgm test file. See
- lineout.c, uses of isprint, for the code that's involved here.
- JDL */
- #define USE_ISASCII 1
-
- /* Define this if your system provides the BSD style string operations
- rather than ANSI C ones (eg bcopy() rather than memcpy(), and index()
- rather than strchr()). */
- /* #define BSD_STRINGS 1 */
-
- /* Define this if you have getopt(). */
- /* #define HAVE_GETOPT 1 */
-
- /* Much VMSish stuff here.
- Not sure what a good default path is: the one here's just a
- guess. The unix.cfg default was:
-
- #define DEFAULT_PATH "/usr/local/lib/sgml/%O/%C/%T:%N.%X:%N.%D"
-
- which is better in that it uses elements from the formal
- identifier rather than the parameter entity name.
- FILE_SEP variables set to comma rather than colon: colon can appear
- in a filename, and comma is the usual thing on VMS to separate
- directories in a pathlist.
- In MIN_DAT_SUBS we map slashes to dashes, since % is not a legal
- VMS filename character. */
-
- #define PATH_FILE_SEP ','
- #define DEFAULT_PATH "sgml_public:%N.%C"
- #define PATH_ENV_VAR "SGML_PATH"
- #define SYSID_FILE_SEP ','
- #define MIN_DAT_SUBS_FROM " /"
- #define MIN_DAT_SUBS_TO "_-"
-
- /* Define this if you have access(). */
- /* VMS has access(), but it's one of those half-implemented functions
- in the run-time library: it checks only UIC protection and not
- ACLs, in VAX C V3.2-044. So it's better to use the replacement
- code provided in entgen.c that just tries to open the file. */
- /* #define HAVE_ACCESS 1 */
-
- /* Define this if you have <unistd.h>. */
- /* #define HAVE_UNISTD_H 1 */
-
- /* Define this if you have waitpid(). */
- /* #define HAVE_WAITPID 1 */
-
- /* Define this to omit tracing functions */
- /* #define FINAL 1 */
-
- /* Define this you want support for subdocuments. This is implemented
- using features that are not part of Standard C. */
- /* Turned off on VMS: the unixproc.c and portproc.c approaches both
- sort of work, but there are problems getting the output of the
- subprocess to go the same place as the main process output.
- Decided I didn't need this enough to mess with it for now. JDL */
- /* #define SUPPORT_SUBDOC 1 */
-
- /* Define this if your system is POSIX.1 (ISO 9945-1:1990) compliant. */
- /* #define POSIX 1 */
-
- /* POSIX.1 compliant systems will certainly have access(), <unistd.h>,
- and waitpid(). */
- #ifdef POSIX
- #ifndef HAVE_ACCESS
- #define HAVE_ACCESS 1
- #endif
- #ifndef HAVE_UNISTD_H
- #define HAVE_UNISTD_H 1
- #endif
- #ifndef HAVE_WAITPID
- #define HAVE_WAITPID 1
- #endif
- #endif /* POSIX */
-
- /* Define this if you have the vfork() system call. */
- #define HAVE_VFORK 1
-
- /* Define this if you have <vfork.h>. */
- /* #define HAVE_VFORK_H 1 */
-
- /* Define this if you don't have <stdlib.h> */
- /* #define STDLIB_H_MISSING 1 */
-
- /* Define this if you don't have <stddef.h> */
- /* #define STDDEF_H_MISSING 1 */
-
- /* Define this if you don't have remove(); unlink() will be used instead. */
- /* #define REMOVE_MISSING 1 */
-
- /* Define this if you don't have raise(); kill() will be used instead. */
- #define RAISE_MISSING 1
-
- /* Universal pointer type. */
- /* Use this if your compiler doesn't fully support void * */
- /* typedef char *UNIV; */
- /* Otherwise use this */
- typedef void *UNIV;
-
- /* VAX C V3.2-044 rejects the following typedef for some reason.
- But the #define seems to work. */
- /* typedef void VOID; */ /* void as a function return type */
- #define VOID void
-
- /* If you don't have an ANSI C conformant <limits.h>, define
- CHAR_SIGNED as 1 or 0 according to whether the `char' type is signed.
- The <limits.h> on some versions of System Release V 3.2 is not ANSI C
- conformant: the value of CHAR_MIN is 0 even though the `char' type is
- signed. */
-
- /* #define CHAR_SIGNED 1 */
- /* #define CHAR_SIGNED 0 */
- #ifndef CHAR_SIGNED
- #include <limits.h>
- #if CHAR_MIN < 0
- #define CHAR_SIGNED 1
- #else
- #define CHAR_SIGNED 0
- #endif
- #endif /* not CHAR_SIGNED */
-
- /* Assume the system character set is ISO Latin-1. */
- #include "latin1.h"
-
- /* Stuff for use in main.c to remove VMS device, directory, extension,
- and version number from error messages.
- We don't need PROG_FOLD, which does upper-to-lower-case folding,
- because VMS does it already. */
-
- #define PROG_PREFIX "]:"
- #define PROG_STRIP_EXTENSION 1
-
- /* Define VMS exit codes.
- stdlib.h is here because it defines its own EXIT_SUCCESS and
- EXIT_FAILURE, which are just 0 and 2; we want nice values that
- don't trigger VMS messages like
- %NONAME-E-NOMSG, Message number 00000002
- So we run stdlib.h here and then redefine these exit codes
- afterwards. */
-
- #ifdef VMS
- # pragma nostandard
- # include stdlib
- # include ssdef
- # include stsdef
- # pragma standard
- # define EXIT_SUCCESS SS$_NORMAL
- # define EXIT_FAILURE (STS$K_SEVERE | STS$M_INHIB_MSG)
- #endif
-
- /* Odd VMS include file for process functions (system, execvp). */
-
- #ifdef VMS
- # ifdef SUPPORT_SUBDOC
- # pragma nostandard
- # include processes
- # pragma standard
- # endif
- #endif
-